/**
 * Created with IntelliJ IDEA.
 * Description:
 * User: 23735
 * Date: 2022-11-28
 * Time: 23:45
 */
public class Solution {
    //动态规划
    public int maxSubArray(int[] nums) {
        int length=nums.length;
        //用一个数组存放以i结尾的最大连续数组和
        int[]arr =new int[length];
        //arr[0]就是第一个值nums[0]
        arr[0]=nums[0];
        int max=nums[0];//存放最大和
        for(int i=1;i<length;i++){
            //以i结尾的最大连续数组和是,以i-1结尾最大和+nums[i] 与 nums[i]中的较大值
            arr[i]=Math.max(arr[i-1]+nums[i],nums[i]);
            max=Math.max(max,arr[i]);
        }
        return max;
    }
}
